Программирование драйверов Windows

Секция [SourceDiskNames]


В случае, если файлы, относящиеся к установке драйвера и управляемые данным INF файлом, размещены более чем на одном диске (CD или дискете), то INF файл должен содержать секцию [SourceDisksNames]. Эта секция содержит по одной записи на каждый диск из набора, предлагаемого для установки. Запись имеет вид:

diskid=disk_description[,[tagfile],[неиспользуемое_поле,path][,flags]]

где diskid это уникальное в пределах набора дисков неотрицательное целое число. Как правило, нумерация дисков начинается с 1, хотя возможна и шестнадцатеричная нумерация, например 0x0, 0x1 и т.п.

Поле disk_description является понятной человеку строкой (выделенной кавычками), которая может быть использована для того, чтобы проинформировать пользователя о том, какой диск требуется установить в привод. Здесь можно применять маркер (вместо строки в кавычках), который, соответственно, раскрывается строкой в секции [Strings].

Значение tagfile играет двойную роль. Для уверенности в том, что пользователь предоставил правильный диск во время процесса установки, значение tagfile (имя файла и расширение, путь не указывается) используется для проверки: файл tagfile должен присутствовать на вставленном носителе в корневой инсталляционной директории или в путях path. B случае, если файл на носителе отсутствует, будет выведена строка подсказки, предлагающая пользователю вставить правильный диск (дискету). В случае, если значение tagfile

содержит расширение .CAB, в дальнейшем будет полагаться, что этот файл представляет собой набор сжатых (архивированных) файлов в качестве файлов, предназначенных для инсталляции с этого диска.

Поле path является значением пути (относительно инсталляционной директории, то есть где находится интерпретируемый inf-файл) к исходным драйверным файлам на предлагаемом диске. Так же, как и tagfile, значение path

является необязательным. В случае, если оно не указано, то полагается, что инсталляционная директория и содержит исходные файлы, относящиеся к установке драйвера.

Поле flags обычно не используется, как и еще одно поле (tag_file), введенное только в Windows XP.

Имя секции [SourceDisksNames] может декорироваться суффиксами версий операционной системы x86 и ia64, так что в inf-файле может быть несколько секций данного типа, отличающихся суффиксами, например:

[SourceDisksNames.x86] [SourceDisksNames.ia64]



Содержание раздела